import os


def print_directory_tree(directory, prefix='', filter_folder_list=[]):
    """
    打印目录的层级结构图。

    参数:
    - directory: 目标目录的路径
    - prefix: 前缀用于格式化输出
    """
    # 列出当前目录中的所有文件和子目录
    items = os.listdir(directory)
    # 列出当前目录中的所有文件和子目录
    items = [item for item in items if not (item.startswith('.') or item.startswith('_'))]
    items = [item for item in items if item not in filter_folder_list]
    # 排序，确保输出有序
    items.sort()
    for index, item in enumerate(items):
        # 构建完整的路径
        path = os.path.join(directory, item)
        # 检查当前项目是否为最后一个
        is_last = index == len(items) - 1
        # 选择适当的前缀符号
        if is_last:
            connector = '└── '
            next_prefix = prefix + '    '
        else:
            connector = '├── '
            next_prefix = prefix + '│   '

        # 打印当前文件或目录
        print(f'{prefix}{connector}{item}')

        # 如果当前项目是目录，则递归调用自身
        if os.path.isdir(path):
            print_directory_tree(path, next_prefix)


def get_parent_folder(path):
    # 使用os.path.dirname()获取路径的上一级目录路径
    parent_folder = os.path.basename(os.path.dirname(path))
    return parent_folder
# 设定目标目录路径
# target_directory = "../"
# print(target_directory)
# # 打印目录层级结构
# print_directory_tree(target_directory, filter_folder_list=['model_edge', 'model_node', 'mysql_database', 'mysql_model'])
